import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from itertools import islice

# 从环境变量中获取访问凭证。运行本代码示例之前，请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.Auth('LTAI5tBWSfGYWw9cveErF9iU', 'eUPnw9SrEgFpbxyZDBKfYckToZuAQN')

# 填写Bucket所在地域对应的Endpoint。以华东1（杭州）为例，Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称，例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-beijing.aliyuncs.com', 'zddsc')

# # 列举Bucket下的10个文件。
# for b in islice(oss2.ObjectIterator(bucket), 10):
#     print(b.key)

# # 列举Bucket下的所有文件。
# for obj in oss2.ObjectIteratorV2(bucket):
#     print(obj.key)


# 列举某个文件夹下的所有文件，包括子目录下的文件。
for obj in oss2.ObjectIterator(bucket, prefix='test-as/aa'):
    print(obj.key)
    bucket.put_object_acl(obj.key,oss2.OBJECT_ACL_PUBLIC_READ)
#
# 继承Bucket
# 文件遵循存储空间的访问权限。
# oss2.OBJECT_ACL_DEFAULT
#
# 私有
# 文件的拥有者和授权用户有该文件的读写权限，其他用户没有权限操作该文件。
# oss2.OBJECT_ACL_PRIVATE
#
# 公共读
# 文件的拥有者和授权用户有该文件的读写权限，其他用户只有文件的读权限。请谨慎使用该权限。
# oss2.OBJECT_ACL_PUBLIC_READ
#
# 公共读写
# 所有用户都有该文件的读写权限。请谨慎使用该权限。
# oss2.OBJECT_ACL_PUBLIC_READ_WRITE